<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        //函数的定义方式
        //1、自定义函数(命名函数)
        function fn(){}
        //2、函数表达式(匿名函数)
        var fun=function(){}
        //3、利用new Function('参数1','参数2'，'函数体')
        var f = new Function('a','b','console.log(a+b)')
        f(4,6)
        
        //由此得出 所有函数都是Function的一个实例(对象)
        console.dir(f);
        console.log(f instanceof Object); //函数也属于对象
        
        //函数的调用
        //1、普通函数
        // function fn(){
        //     console.log('hi');
        // }
        // //fn();    fn.call()
        // //2、对象的方法
        // var o={
        //     sayhi:function(){
        //         console.log('我也hi');
        //     }
        // }   
        // //o.sayhi()
        // //3、构造函数
        // function Star(){

        // }
        // new Star() 
        //4、事件绑定函数
        // btn.onclick=function(){}  //点击调用
        //5、定时器函数
        // setInterval(function(){},1000)  //定时器调用
        // 6、立即执行函数
        // (function(){
        //     console.log(123);
        // })()   //自动调用 立即执行
    </script>
</body>
</html>